﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace Ponguizinho.Game.PONG
{
    class Paleta
    {
        private Texture2D imagem;
        private Vector2 posicao, tamanho;
        public enum ModoInteracao
        { SETAS, LETRAS }
        private ModoInteracao meuModoInteracao;
        
        private float velocidadeMovimentoEixoY;
        
        public Paleta(Texture2D imagem, int razaoTamanho, Vector2 posicaoInicial, ModoInteracao modoInteracao)
        {
            this.imagem = imagem;
            this.posicao = posicaoInicial;
            this.tamanho = new Vector2(this.imagem.Width * razaoTamanho, this.imagem.Height * razaoTamanho);
            meuModoInteracao = modoInteracao;
            velocidadeMovimentoEixoY = 0.5f;
        }
        public void Update(GameTime gametime)
        {
            switch (meuModoInteracao)
            {
                case ModoInteracao.SETAS:
                    if (GERENCIADOR.tecladoAtual.IsKeyDown(Keys.Up))
                        Mover(gametime, velocidadeMovimentoEixoY);
                    if (GERENCIADOR.tecladoAtual.IsKeyDown(Keys.Down))
                        Mover(gametime, -velocidadeMovimentoEixoY);
                    break;
                case ModoInteracao.LETRAS:
                    if (GERENCIADOR.tecladoAtual.IsKeyDown(Keys.W))
                        Mover(gametime, velocidadeMovimentoEixoY);
                    if (GERENCIADOR.tecladoAtual.IsKeyDown(Keys.S))
                        Mover(gametime, -velocidadeMovimentoEixoY);
                    
                    break;
            }
        }
        private void Mover(GameTime gameTime, float velocidade)
        {
            posicao.Y -= velocidade * (float)gameTime.ElapsedGameTime.Milliseconds;
        }
        public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(imagem, new Rectangle((int)posicao.X, (int)posicao.Y, (int)tamanho.X, (int)tamanho.Y), Color.White);
        }
        public Rectangle RETANGULO
        { get { return new Rectangle((int)posicao.X, (int)posicao.Y, (int)tamanho.X, (int)tamanho.Y); } }
    }
}
